package com.blrs.mapper;

import com.blrs.domain.ProjectDeliverable;
import com.blrs.domain.vo.DeliverableVO;
import org.apache.ibatis.annotations.Param;

import java.util.List;

public interface ProjectDeliverableMapper {
    /**
     * 新增项目交付物
     */
    public int insertProjectDeliverable(ProjectDeliverable deliverable);

    /**
     * 根据策划ID删除项目交付物
     * 
     * @param planningId 策划ID
     * @param useTypes 用途类型列表
     * @return 结果
     */
    public int deleteProjectDeliverableByPlanningId(@Param("planningId") String planningId, @Param("useTypes") List<Integer> useTypes);

    /**
     * 根据工艺ID查询项目交付物
     */
    public List<DeliverableVO> selectDeliverablesByProcessId(@Param("processId") String processId, @Param("useType") Integer useType);

    /**
     * 查询项目交付物列表
     *
     * @param projectDeliverable 项目交付物
     * @return 项目交付物集合
     */
    public List<ProjectDeliverable> selectProjectDeliverableList(ProjectDeliverable projectDeliverable);

    /**
     * 删除项目交付物
     *
     * @param deliverableId 项目交付物主键
     * @return 结果
     */
    public int deleteProjectDeliverableByDeliverableId(String deliverableId);

    /**
     * 修改项目交付物
     *
     * @param projectDeliverable 项目交付物
     * @return 结果
     */
    public int updateProjectDeliverable(ProjectDeliverable projectDeliverable);
} 